package d1_thread_code;

public class ThreadDemo01 {
    //注意: main方法本身就是由一条主线程负责执行的
    public static void main(String[] args) {
        //目标: 掌握线程的创建方式一: 继承Thread
        //3、创建线程对象代表具体的线程
        MyThread t = new MyThread();

        //4、启动线程: 会自动执行线程的run方法
        //如果直接调用run,CPU不会注册新线程执行,其实相当于还是单线程-->永远还是主线程在跑-->此时是没有线程特征

        t.start();
//两条线程在争取CPU的使用权,他们是同时开始运行的,什么顺序的是可能的
        //写点-->主线成要干的事情,好做对比
        for (int i = 0; i < 4; i++) {
            System.out.println("main线程在输出" + i);
        }
    }

}


//1、定义一个类继承TThread类, 成为线程类
class MyThread extends Thread{
    //2、重写run方法, 声明线程要干的事情
    @Override
    public void run() {
        for (int i = 0; i < 4; i++) {
            //注意除了主线成,其他都是子线程,main方法本身就是由一条主线程执行
            System.out.println("子线程输出: " + i);
        }
    }
}